home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / redakcyjne / programy / Tlen 6.0.1.12 pl / tleninst60112.exe / sdk / TlenSources / plugin / plugin_struct.h < prev    next >
C/C++ Source or Header  |  2006-08-30  |  2KB  |  64 lines

  1. #ifndef plugin_structH
  2. #define plugin_structH
  3.  
  4. #include <windows.h>
  5.  
  6. //Maksymalna d│ugo£µ nazwy funkcji, zdarzenia
  7. #define MAXNAMELENGTH 64
  8.  
  9. //Tworzy wersje w postaci DWORD
  10. #define MAKE_DWORD_VERSION(a,b,c,d)   ((DWORD)a&0xFF)<<24|((DWORD)b&0xFF)<<16|((DWORD)c&0xFF)<<8|((DWORD)d&0xFF)
  11.  
  12. //Wersja API
  13. #define PLUGIN_API_VERSION MAKE_DWORD_VERSION(0,1,8,3)
  14.  
  15. //Makro do inicjalizacji struktur
  16. #define InitializeStruct(st) {memset(&st,0,sizeof(st));st.structSize=sizeof(st);};
  17.  
  18. typedef int (*TLENHOOK)(WPARAM,LPARAM);
  19. typedef int (*TLENFUNCTION)(WPARAM,LPARAM);
  20.  
  21. typedef struct {
  22.  
  23.     int structSize;
  24.  
  25.     char *PluginName;
  26.  
  27.     DWORD PluginAPIVersion;
  28.     DWORD PluginVersion;
  29.     char *PluginDescription;
  30.     char *PluginCopyright;
  31.  
  32.     char *PluginAuthor;
  33.     char *PluginAuthorEmail;
  34.     char *PluginAuthorHomepage;
  35.  
  36.     DWORD Reserved1;
  37.     DWORD Reserved2;
  38.     DWORD Reserved3;
  39.     DWORD Reserved4;
  40.  
  41. } TLENPLUGININFO;
  42.  
  43. typedef struct {
  44.  
  45.     HANDLE          (*CreateTlenFunction)  (HINSTANCE, const char *,TLENFUNCTION);
  46.     int             (*DestroyTlenFunction) (HINSTANCE, HANDLE);
  47.     int             (*CallTlenFunction)    (HINSTANCE, const char *,WPARAM,LPARAM);
  48.     int             (*CallTlenFunctionTS)  (HINSTANCE, const char *,WPARAM,LPARAM);
  49.     int             (*TlenFunctionExists)  (HINSTANCE, const char *);
  50.  
  51.     HANDLE (*CreateTlenEvent)     (HINSTANCE, const char *);
  52.     int    (*DestroyTlenEvent)    (HINSTANCE, HANDLE);
  53.     int    (*NotifyTlenHooks)     (HINSTANCE, HANDLE,WPARAM,LPARAM);
  54.     HANDLE (*HookTlenEvent)       (HINSTANCE, const char *,TLENHOOK);
  55.     HANDLE (*HookTlenEventMessage)(HINSTANCE, const char *,HWND,UINT);
  56.     int    (*UnhookTlenEvent)     (HINSTANCE, HANDLE);
  57.  
  58. } TLENPLUGINFUNCTIONS;
  59.  
  60. //Gdy wszystkie pluginy zostan╣ za│adowane
  61. #define TLEN_PLUGINS_LOADED_EVENT       "Tlen/PluginsLoadedEvent"
  62.  
  63. #endif
  64.